import request from '@/utils/request'

/**
 * 查询设备信息列表
 * @param {Object} params 查询参数
 * @param {string} [params.name] 设备名称
 * @param {string} [params.model] 设备型号
 * @param {number} [params.status] 状态（1启用，0停用）
 * @returns {Promise} 请求结果
 */
export function listDevice(params) {
  return request({
    url: '/iot/backend/device/list',
    method: 'get',
    params
  })
}

/**
 * 获取设备信息详细信息
 * @param {number} id 设备ID
 * @returns {Promise} 请求结果
 */
export function getDeviceDetail(id) {
  return request({
    url: `/iot/backend/device/${id}`,
    method: 'get'
  })
}

/**
 * 新增设备信息
 * @param {Object} data 设备数据
 * @param {string} data.name 设备名称
 * @param {string} data.model 设备型号
 * @param {number} data.status 状态（1启用，0停用）
 * @param {string} [data.protocol] 通讯协议
 * @param {string} [data.ipAddress] 设备IP地址
 * @param {number} [data.port] 端口号
 * @param {number} [data.modbusSlaveId] Modbus从站ID
 * @param {string} [data.remark] 备注
 * @returns {Promise} 请求结果
 */
export function addDevice(data) {
  return request({
    url: '/iot/backend/device',
    method: 'post',
    data
  })
}

/**
 * 修改设备信息
 * @param {Object} data 设备数据
 * @param {number} data.id 主键ID
 * @param {string} data.name 设备名称
 * @param {string} data.model 设备型号
 * @param {number} data.status 状态（1启用，0停用）
 * @param {string} [data.protocol] 通讯协议
 * @param {string} [data.ipAddress] 设备IP地址
 * @param {number} [data.port] 端口号
 * @param {number} [data.modbusSlaveId] Modbus从站ID
 * @param {string} [data.remark] 备注
 * @returns {Promise} 请求结果
 */
export function updateDevice(data) {
  return request({
    url: '/iot/backend/device',
    method: 'put',
    data
  })
}

/**
 * 删除设备信息
 * @param {Array<number>} ids 设备ID数组
 * @returns {Promise} 请求结果
 */
export function deleteDevice(ids) {
  return request({
    url: `/iot/backend/device/${ids}`,
    method: 'delete'
  })
}


export function getTemplateList() {
  return request({
    url: '/iot/backend/device/businessTemplateList',
    method: 'get',
  })
}

// /backend/device/deviceTypeList 获取设备类型下拉列表
export function getDeviceTypeList() {
  return request({
    url: '/iot/backend/device/deviceTypeList',
    method: 'get',
  })
}

// /backend/device/powerStrategyList 供电策略
export function getPowerStrategyList() {
  return request({
    url: '/iot/backend/device/powerStrategyList',
    method: 'get',
  })
}